سورس مرتب سازی سریع (++C)

سورس مرتب سازی سریع (++C)

چهار شنبه 10 بهمن 1397
12:29
گروه توسعه هوشمند

#include
#include
#include
#include
void quickSort(int numbers[], int array_size);
void q_sort(int numbers[], int left, int right);
using namespace std;

void main(void)
{
    cout << "********************************************************" << endl;
    cout << "             smartdevelop.ir"<< endl;
    cout << "********************************************************"<< endl;
    const int n = 10;
    int X[n];

    
    for (int i = 0; i<n; i++)
    {
        X[i] = rand() % 100;
        cout << X[i] << "\t";
    }

    quickSort(X, n);

    cout << endl;
    for (int i = 0; i<n; i++)
        cout << X[i] << "\t";

    getch();
}
void quickSort(int numbers[], int array_size)
{
    q_sort(numbers, 0, array_size - 1);
}


void q_sort(int numbers[], int left, int right)
{
    int pivot, l_hold, r_hold;

    l_hold = left;
    r_hold = right;
    pivot = numbers[left];
    while (left < right)
    {
        while ((numbers[right] >= pivot) && (left < right))
            right--;
        if (left != right)
        {
            numbers[left] = numbers[right];
            left++;
        }
        while ((numbers[left] <= pivot) && (left < right))
            left++;
        if (left != right)
        {
            numbers[right] = numbers[left];
            right--;
        }
    }
    numbers[left] = pivot;
    pivot = left;
    left = l_hold;
    right = r_hold;
    if (left < pivot)
        q_sort(numbers, left, pivot - 1);
    if (right > pivot)
        q_sort(numbers, pivot + 1, right);
}

 

 

 

از کتابخانه های  iostream  و  conio.h  استفاه کنید

سورس : دانلود

 

 

 

 

 

 

 

 

 

 

 

 

 


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:






موضوعات مرتبط: ++C